<!DOCTYPE html>
<html lang="en" dir="ltr" class="client-nojs">
<head>
<meta charset="UTF-8" />
<title>Fisheye Projection - PanoTools.org Wiki</title>
<meta http-equiv="X-UA-Compatible" content="IE=EDGE" />
<meta name="generator" content="MediaWiki 1.23.6" />






<style media="screen" type="text/css" title="Screen style sheet"> @import url(manual.css); </style>

<style>a:lang(ar),a:lang(kk-arab),a:lang(mzn),a:lang(ps),a:lang(ur){text-decoration:none}
/* cache key: panotools_wiki:resourceloader:filter:minify-css:7:90730a7865ba4b50e0b837e1821ff0a3 */</style>



<!--[if lt IE 7]><style type="text/css">body{behavior:url("/skins/vector/csshover.min.htc")}</style><![endif]--></head>
<body class="mediawiki ltr sitedir-ltr ns-0 ns-subject page-Fisheye_Projection skin-vector action-view vector-animateLayout">
		
		
		<div id="content" class="mw-body" role="main">
			<a id="top"></a>
			
						<h1 id="firstHeading" class="firstHeading" lang="en"><span dir="auto">Fisheye Projection</span></h1>
						<div id="bodyContent">
								<div id="siteSub">From PanoTools.org Wiki</div>
								
												
				<div id="mw-content-text" lang="en" dir="ltr" class="mw-content-ltr"><div class="thumb tright"><div class="thumbinner" style="width:302px;"><img alt="" src="Big_ben_circ_fisheye.jpg" width="300" height="300" class="thumbimage" /><a class="external" href="http://wiki.panotools.org/File:Big_ben_circ_fisheye.jpg">[*]</a>  <div class="thumbcaption">Circular Fisheye projection, with permission from Ben Kreunen</div></div></div>
<div class="thumb tright"><div class="thumbinner" style="width:302px;"><img alt="" src="Big_ben_ff_fisheye.jpg" width="300" height="300" class="thumbimage" /><a class="external" href="http://wiki.panotools.org/File:Big_ben_ff_fisheye.jpg">[*]</a>  <div class="thumbcaption">Fullframe Fisheye projection, with permission from Ben Kreunen</div></div></div>
<p>This is a class of <a href="Projections.html" title="Projections">projections</a> for mapping a portion of the surface of a sphere to a flat image, typically a camera's film or detector plane.  In a fisheye projection the distance from the centre of the image to a point is close to proportional to the true angle of separation.
</p><p>Commonly there are two types of fisheye distinguished: circular fisheyes<a class="external" href="http://wiki.panotools.org/Fisheyes">[*]</a> and fullframe fisheyes<a class="external" href="http://wiki.panotools.org/Fisheyes">[*]</a>. However, both follow the same projection geometrics. The only difference is one of <a href="Field_of_View.html" title="Field of View">Field of View</a>: for a circular fisheye the circular image fits (more or less) completely in the frame, leaving blank areas in the corner. For the full frame variety, the image is over-filled by the circular fisheye image, leaving no blank space on the film or detector.  A circular fisheye can be made full frame if you use it with a smaller sensor/film size (and vice versa), or by zooming a fisheye adaptor on a zoom lens.
</p><p>There is no single fisheye projection, but instead there are a class of projection transformation all referred to as <i>fisheye</i> by various lens manufacturers, with names like <i>equisolid angle projection</i>, or <i>equidistance fisheye</i>.  Less common are traditional spherical projections which map to circular images, such as the <a rel="nofollow" class="external text" href="http://mathworld.wolfram.com/OrthographicProjection.html">orthographic</a> (lenses commonly designated <i>OP</i>) or <a href="Stereographic_Projection.html" title="Stereographic Projection">stereographic</a> projections.  Luckily, <a href="Panorama_tools.html" title="Panorama tools">Panorama tools</a> and <a href="Hugin.html" title="Hugin">Hugin</a> can deal with most of these mentioned projections. 
</p><p><b><img class="mwe-math-fallback-png-inline tex" alt="\theta \," src="1f09c25c5247c1eaf121df644ca42f8c.png" /></b> is the angle in rad between a point in the real world and the optical axis, which goes from the center of the image through the center of the lens, <img class="mwe-math-fallback-png-inline tex" alt="f" src="8fa14cdd754f91cc6554c9e71929cce7.png" /> is the focal length of the lens and <img class="mwe-math-fallback-png-inline tex" alt="R" src="e1e1d3d40573127e9ee0480caf1283d6.png" /> is radial position of a point on the image on the film or sensor.
</p>
<table class="wikitable">

<tr>
<th> projection
</th>
<th> math
</th>
<th> real lenses, matching this projection
</th></tr>
<tr>
<td> equidistant fisheye
</td>
<td> <img class="mwe-math-fallback-png-inline tex" alt="R=f\cdot \theta " src="1e3fbb44cf80bc872c3bc50c35a10b98.png" />
</td>
<td> e.g. Peleng 8mm f/3.5 Fisheye <br />This is the ideal fisheye projection panotools uses internally
</td></tr>
<tr>
<td> stereographic
</td>
<td> <img class="mwe-math-fallback-png-inline tex" alt="R=2f\cdot \tan \left({\frac  {\theta }{2}}\right)" src="4c08b4c70c5be7cb6c402efa92fdb6ee.png" />
</td>
<td> e.g. Samyang 8 mm f/3.5
</td></tr>
<tr>
<td> orthographic
</td>
<td> <img class="mwe-math-fallback-png-inline tex" alt="R=f\cdot \sin \left(\theta \right)" src="57b9ca0ee21ce403038c5efcdc7c5eca.png" />
</td>
<td> e.g. Yasuhara - MADOKA 180 circle fisheye lens
</td></tr>
<tr>
<td> equisolid
<p>(equal-area fisheye)
</p>
</td>
<td> <img class="mwe-math-fallback-png-inline tex" alt="R=2f\cdot \sin \left({\frac  {\theta }{2}}\right)" src="c3cc50179501003b73b0f3d8f02098dc.png" />
</td>
<td> e. g. Sigma 8mm f/4.0 AF EX, (also convex mirror)
</td></tr>
<tr>
<td> Thoby fisheye
</td>
<td> <img class="mwe-math-fallback-png-inline tex" alt="R=k_{1}\cdot f\cdot \sin \left(k_{2}\cdot \theta \right)" src="8dc4f8dfb753dc58e5cfaa70bb2add2e.png" />
<p>with <img class="mwe-math-fallback-png-inline tex" alt="k_{1}=1.47" src="422cb0e4439a3b643f880b45af9d5636.png" /> and <img class="mwe-math-fallback-png-inline tex" alt="k_{2}=0.713" src="97f76ad87331fb0eebfa4c97bed26d8c.png" />
</p>
</td>
<td> e. g. AF DX Fisheye-Nikkor 10.5mm f/2.8G ED
<p>(empirical found math for this lens)
</p>
</td></tr></table>
<p>So for example 90 degrees, which would be the maximum
theta of a lens with 180 degree <a href="Field_of_View.html" title="Field of View">Field of View</a>, f=8mm, equisolid mapping, you get
R = 11.3mm, which is the radius of the image circle.
</p><p>Btw, a rectilinear lens has a mapping
</p>
<pre><img class="mwe-math-fallback-png-inline tex" alt="R=f*tan(\theta )\," src="ccf48cf728225d3dcecf1f74e74dafa3.png" />
</pre>
<p>More information on fisheyes<a class="external" href="http://wiki.panotools.org/Fisheyes">[*]</a> and their distortions from <a rel="nofollow" class="external text" href="http://www.bobatkins.com/photography/technical/field_of_view.html">Bob Atkins Photography</a>
</p><p>Panotools fisheye mapping mentioned by Helmut Dersch<a class="external" href="http://wiki.panotools.org/Helmut_Dersch">[*]</a> in <a rel="nofollow" class="external free" href="http://www.panotools.org/mailarchive/msg/6864#msg6864">http://www.panotools.org/mailarchive/msg/6864#msg6864</a>
</p><p>(Content partly based on a mail by Helmut Dersch which can be found at W.J. Markerink's <strike><a rel="nofollow" class="external text" href="http://www.a1.nl/phomepag/markerink/fishyfaq.htm">page about fisheye analysis</a></strike> Link not valid anymore)
</p>



</div>								<div class="printfooter">
				Retrieved from "http://wiki.panotools.org/index.php?title=Fisheye_Projection&amp;oldid=15452<a class="external" href="http://wiki.panotools.org/index.php?title=Fisheye_Projection&amp;oldid=15452">[*]</a>"				</div>
												</div></div></body></html>